package com.example.basicSpringBoot.web.servlet;

import javax.servlet.AsyncContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * servlet 的包路径 就是 *.web.servlet
 * extends httpServlet 是servlet 3.0要求的规范
 */
@WebServlet(urlPatterns = "/my/asyncServlet", asyncSupported = true)
public class MyAsyncServlet extends HttpServlet {
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		AsyncContext asyncContext = req.startAsync();
		asyncContext.start(() -> {
			try {
				resp.getWriter().print("hello world");
				asyncContext.complete();
			} catch (IOException e) {
				e.printStackTrace();
			}
		});
		//super.doGet(req, resp);
		//resp.getWriter().print("hello world");
	}

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		super.doPost(req, resp);
	}
}
